package com.huohuzhihui.merchant.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.huohuzhihui.common.annotation.Excel;
import com.huohuzhihui.common.core.domain.BaseEntity;

/**
 * 优惠券活动对象 mer_coupon_activity
 * 
 * @author huohuzhihui
 * @date 2021-03-30
 */
public class MerCouponActivity extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 活动主题 */
    @Excel(name = "活动主题")
    private String title;

    /** 活动描述 */
    private String description;

    /** 活动开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "活动开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date beginDate;

    /** 活动结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "活动结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endDate;

    /** 每个人可参与次数：0为不限次 */
    private Long joinTimes;

    /** 活动类型 */
    @Excel(name = "活动类型")
    private Long actityTypeId;

    /** 延迟发送视频：小时为单位，0为不延迟 */
    @Excel(name = "延迟发送视频：小时为单位，0为不延迟")
    private Long laterSend;

    /** 活动主图 */
    private String imgUrl;

    /** 活动状态：0待审核；1进行中；2已下线 */
    @Excel(name = "活动状态：0待审核；1待上线；2上线中；3已下线")
    private Long status;

    /** 活动宣传视频 */
    @Excel(name = "活动宣传视频")
    private String videoUrl;

    /** 所属商家 */
    @Excel(name = "所属商家")
    private Long merchantId;

    private String merchantName;

    /** 优惠券 */
    @Excel(name = "优惠券")
    private Long couponId;

    /**抖音话题：title1#话题1 #话题2 @nickname1*/
    private String douyinTitle;
    /**视频转发渠道：0抖音，1快手，2视频号，3微信朋友圈*/
    private Integer forwardChannel;
    /**视频来源：0按资源分组，1按单个文件，为避免重复导致的抖音限流请按分组选择*/
    private Integer videoSource;
    /**多个资源分组*/
    private String resourceGroupId;

    /**多个资源分组*/
    private Long[] resourceGroupIds;
    //地理位置id
    private String poiId;
    //地理位置名称
    private String poiName;
    //@对应的openid，多个弄成数组
    private String atUsers;
    //@对应的nickname
    private String atNicknames;
    //小程序id
    private String microAppId;
    //	小程序标题
    private String microAppTitle;
    //吊起小程序时的url参数
    private String microAppUrl;
    //视频标题
    private String videoTitle;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }
    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }
    public void setBeginDate(Date beginDate) 
    {
        this.beginDate = beginDate;
    }

    public Date getBeginDate() 
    {
        return beginDate;
    }
    public void setEndDate(Date endDate) 
    {
        this.endDate = endDate;
    }

    public Date getEndDate() 
    {
        return endDate;
    }
    public void setJoinTimes(Long joinTimes) 
    {
        this.joinTimes = joinTimes;
    }

    public Long getJoinTimes() 
    {
        return joinTimes;
    }
    public void setActityTypeId(Long actityTypeId) 
    {
        this.actityTypeId = actityTypeId;
    }

    public Long getActityTypeId() 
    {
        return actityTypeId;
    }
    public void setLaterSend(Long laterSend) 
    {
        this.laterSend = laterSend;
    }

    public Long getLaterSend() 
    {
        return laterSend;
    }
    public void setImgUrl(String imgUrl) 
    {
        this.imgUrl = imgUrl;
    }

    public String getImgUrl() 
    {
        return imgUrl;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setVideoUrl(String videoUrl) 
    {
        this.videoUrl = videoUrl;
    }

    public String getVideoUrl() 
    {
        return videoUrl;
    }
    public void setMerchantId(Long merchantId) 
    {
        this.merchantId = merchantId;
    }

    public Long getMerchantId() 
    {
        return merchantId;
    }
    public void setCouponId(Long couponId) 
    {
        this.couponId = couponId;
    }

    public Long getCouponId() 
    {
        return couponId;
    }

    public String getMerchantName() {
        return merchantName;
    }

    public void setMerchantName(String merchantName) {
        this.merchantName = merchantName;
    }

    public String getDouyinTitle() {
        return douyinTitle;
    }

    public void setDouyinTitle(String douyinTitle) {
        this.douyinTitle = douyinTitle;
    }

    public String getPoiId() {
        return poiId;
    }

    public void setPoiId(String poiId) {
        this.poiId = poiId;
    }

    public String getPoiName() {
        return poiName;
    }

    public void setPoiName(String poiName) {
        this.poiName = poiName;
    }

    public Integer getForwardChannel() {
        return forwardChannel;
    }

    public void setForwardChannel(Integer forwardChannel) {
        this.forwardChannel = forwardChannel;
    }

    public Integer getVideoSource() {
        return videoSource;
    }

    public void setVideoSource(Integer videoSource) {
        this.videoSource = videoSource;
    }

    public String getResourceGroupId() {
        return resourceGroupId;
    }

    public void setResourceGroupId(String resourceGroupId) {
        this.resourceGroupId = resourceGroupId;
    }

    public Long[] getResourceGroupIds() {
        return resourceGroupIds;
    }

    public void setResourceGroupIds(Long[] resourceGroupIds) {
        this.resourceGroupIds = resourceGroupIds;
    }

    public String getAtUsers() {
        return atUsers;
    }

    public void setAtUsers(String atUsers) {
        this.atUsers = atUsers;
    }

    public String getMicroAppId() {
        return microAppId;
    }

    public void setMicroAppId(String microAppId) {
        this.microAppId = microAppId;
    }

    public String getMicroAppTitle() {
        return microAppTitle;
    }

    public void setMicroAppTitle(String microAppTitle) {
        this.microAppTitle = microAppTitle;
    }

    public String getMicroAppUrl() {
        return microAppUrl;
    }

    public void setMicroAppUrl(String microAppUrl) {
        this.microAppUrl = microAppUrl;
    }

    public String getVideoTitle() {
        return videoTitle;
    }

    public void setVideoTitle(String videoTitle) {
        this.videoTitle = videoTitle;
    }

    public String getAtNicknames() {
        return atNicknames;
    }

    public void setAtNicknames(String atNicknames) {
        this.atNicknames = atNicknames;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("title", getTitle())
            .append("description", getDescription())
            .append("beginDate", getBeginDate())
            .append("endDate", getEndDate())
            .append("joinTimes", getJoinTimes())
            .append("actityTypeId", getActityTypeId())
            .append("laterSend", getLaterSend())
            .append("imgUrl", getImgUrl())
            .append("status", getStatus())
            .append("videoUrl", getVideoUrl())
            .append("merchantId", getMerchantId())
            .append("couponId", getCouponId())
            .toString();
    }
}
